package kr.school.service;

import java.util.Comparator;
import java.util.Scanner;

import kr.school.dao.InterfaceDAO;
import kr.school.vo.Department;

public class DepartmentService extends ServiceItem<Department>{

	public DepartmentService(InterfaceDAO<Department> dao, Scanner sc) {
		super(dao, sc);
	}

	@Override
	public Department inputItemInfo(boolean gubun) {
		System.out.println("학과번호 학과명");
		Department dept = new Department(sc.nextInt(), sc.next().trim());
		if(gubun) {
			System.out.println("위치");
			dept.setFloor(sc.nextInt());
		}
		return dept;
	}

	@Override
	public void prnSubMenu() {
		System.out.println("1.이름순 정렬\n2.위치순 정렬\n3.번호순 정렬");
		int res = sc.nextInt();
		switch(res) {
			case 1:
				dao.prnListItem(new Comparator<Department>() {
					@Override
					public int compare(Department o1, Department o2) {
						return o1.getDeptName().hashCode() - o2.getDeptName().hashCode();
					}
				});
				break;
			case 2:
				dao.prnListItem(new Comparator<Department>() {
					@Override
					public int compare(Department o1, Department o2) {
						return o1.getFloor() - o2.getFloor();
					}
				});
				break;
			default:
				dao.prnListItem(null);
		}
	}
}